<template>
    <!-- 创建表 -->
    <el-dialog title="创建表" v-model="visible" width="800px" top="5vh" append-to-body>
        <span>创建表语句(支持多个建表语句)：</span>
        <el-input type="textarea" :rows="10" placeholder="请输入文本" v-model="content"></el-input>
        <template #footer>
            <div class="dialog-footer">
                <el-button type="primary" @click="handleImportTable">确 定</el-button>
                <el-button @click="visible = false">取 消</el-button>
            </div>
        </template>
    </el-dialog>
</template>

<script setup>
    import {createTable} from "@/api/tool/gen";

    const visible = ref(false);
    const content = ref("");
    const {proxy} = getCurrentInstance();
    const emit = defineEmits(["ok"]);

    /** 显示弹框 */
    function show() {
        visible.value = true;
    }

    /** 导入按钮操作 */
    function handleImportTable() {
        if (content.value === "") {
            proxy.$modal.msgError("请输入建表语句");
            return;
        }
        createTable({sql: content.value}).then(res => {
            proxy.$modal.msgSuccess(res.msg);
            if (res.code === 200) {
                visible.value = false;
                emit("ok");
            }
        });
    }

    defineExpose({
        show,
    });
</script>
